﻿/**
 * 
 */
function deleteTitles(dom, id) {
	// 如果确定将返回true
	var isDelete = window.confirm("你是否真的要删除?");
	if (isDelete) {
		$.ajax({
			// 已经设置好基准路径所以全部使用先对路径
			// 请求的服务器路径
			url : "managerServlet/TitleServlet?action=delete",
			data : "id=" + id,// 传递的参数
			// 成功将数据交递给服务器后执行函数
			success : function(getData) {
				// 成功返回之后的处理函数,data为服务器返回的数据
				// 可以不返回任何的数据
				// 删除当前行
				// 这里使用的是jQuery的文档处理,可以即时的对文档进行操作
				// $(this).parent().parent().remove().slideToggle('slow');
				// alert($(dom).parent().parent());
				$(dom).parent().parent().remove();
			}
		});
	};
};
/*
 * //当文本框失去焦点时执行 function changeSort(dom){ $.ajax({
 * url:"managerServlet/TitleServlet?action=reset",
 * data:"id="+=$(this).prev("hidden").val()+"&sort="+$(this).val(),
 * success:function(getData){
 * //在此处执行成功,可以利用jQuery对页面进行排序,利用jQuery对文档的处理,在javascript中是否有对一组数字进行排序的函数?
 *  } }); };
 */
/*$(".titleSort :input").change(function(){
	//在执行的方法,中this是当前正在执行的DOM对象
	alert("aaaa");
	//将输入的值去掉空格
	//取的改变的id
	//alert($(this).prev(":input").val());
	var vid = $(this).prev(":input").val();
	var val = $.trim($(this).val());
	
	//alert(val);
	
	if(val != ""){
		//要访问的地址
		var url = "managerServlet/TitleServlet?action=resetSort";
		//传输的参数以JSON的方式
		var args ={"id":vid,"sort":val,"time":new Date()};
		//function回调函数处理传来的数据
		$.post(url,args,function(data){
			//将原来的DOM元素移除掉
			$(".message").remove();
			//将得到的html文件添加到外面容器的外面
			$(".result-tab").append($(data));
		});
	}
});*/
/**
 * 对title的重新排序
 */
function sortChange(event){
	//alert("aaaaaa");
	//DOM对象可以由时间event对象中获得
	//event.currentTarget === this
	
	var $vid =$(event.currentTarget).prev(":input").val();
	var $val = $.trim($(event.currentTarget).val());
	if($val != ""){
		//要访问的地址
		//alert("bbbbb");
		var url = "managerServlet/TitleServlet?action=resetSort";
		//传输的参数以JSON的方式
		var args ={"id":$vid,"sort":$val,"time":new Date()};
		
		//function回调函数处理传来的数据,此回调函数传来的是HTML文本
		$.post(url,args,function(data){
			//将原来的DOM元素移除掉
			//alert("aaaaaa");
			$(".message").remove();
			
			//将得到的html文件添加到外面容器的外面
			$(".result-tab").append($(data));
		},"html");
	}
}
/**
 * 打开窗口对title进行排序
 * @param my
 */
function addTitle(my){
	//alert("aaaaa");
	//注意jQuery对象前面加上$符号
	var $val = $("#dialog");
	//传入this对象用于修改数据
	//alert($(my).Text());
	//prev()和next()是取得紧邻的元素,要是非紧邻的可以使用prevAll()和nextAll()
	//jQuery对象变js对象是var id = $id[0]  jQuery对象是数组对象
	//筛选函数是针对jQuery对象而言,而选择器是针对标签而言
	//筛选函数有查找函数---->查找的对象是一个集合,,,,,过滤函数------->从集合中准确的选取某一个对象,,,,,还有串联函数
	
	var $id = $(my).parent().prevAll().eq(2).children().first();
	//var $id = $(my).parent().prevAll(":eq(3)") 		//同级可以使用筛选函数也可以使用同级选择器
	
	//通过是否可以得到id来判断是添加还是修改函数,如果没有定义则是添加函数
	if($id.val()!= undefined){
		//alert($id.val());
		//找到对应的DOM对象
		$name = $(my).parent().prev();
		$sort = $(my).parent().prevAll().eq(2).children().last();
		//alert($name.attr("title"));
		//alert($sort.val());
		
		//">"匹配子元素 而空格匹配所有的后代元素,这里是将所要修改的信息放到修改框中
		//alert($(".dialog>div form fieldset:eq(1) input").attr("name"));
		$(".dialog>div form>input").val($id.val());
		$(".dialog>div form fieldset:first input").val($name.attr("title"));
		$(".dialog>div form fieldset:eq(1) input").val($sort.val());
		
		
	}else{
		//alert("haha");
		//是添加神魔也不做
	}
	$val.slideToggle('slow');
}
/**
 * 关闭打开的对话框
 */
function closeTitle(my){
	//在点击事件中没有this,需要将this传进来
	//调用对象本身执行的事件DOM.onclick=函数;点击事件调用了一个函数,而对象this在DOM身上,因而需要将this传给调用的函数;--------->这是点击对象调用其他的函数
	//$("").change(function{});这个是DOM上加事件,为本身事件定义了一个匿名的函数因而不用传递this------------------->这里是调用自己的函数
	//对象的事件调用其他的函数,就要将对象传递
	//alert($(this));
	
	$(my).parent().parent().parent().fadeToggle('slow');
	
	$(".dialog>div form>input").val("");
	$(".dialog>div form fieldset:first input").val("");
	$(".dialog>div form fieldset:eq(1) input").val("");
	$(".dialog>div form fieldset:first input").css({color:"#849BCA",background:"#EDF1F8"});
	$(".dialog>div form fieldset:eq(1) input").val("");
	$(".dialog>div form fieldset:eq(1) input").css({color:"#849BCA",background:"#EDF1F8"});
	
}


/**
 * 完成对信息的提交
 * @param my
 */
//提交完成的操作
function send(my){
	//变量var是一种弱类型的对象,可以存放对象和其中的值
	//alert("123456789");
	var $id = $(".dialog>div form>input").val();
	//对输入框中的数据进行处理,去空格
	var $name = $.trim($(".dialog>div form fieldset:first input").val());
	var $sort = $.trim($(".dialog>div form fieldset:eq(1) input").val());
	
	//添加是否成功的标志
	var success = 0;
	//alert("000000");
	//判断是添加还是修改
	if($id!=""){
		//有id是修改
		//添加的标题名不可以为空
		//alert("11111");
		if($name != ""){
			var url = "managerServlet/TitleServlet?action=reset";
			//time属性存在的原因是避免缓存的干扰
			
			//alert($name);
			
			var args = {"id":$id,"name":$name,"sort":$sort,"time":new Date()};
			$.post(url,args,function(data){
				//解析json对象
				alert("aaaaaaa");
				
				//将字符串通过eval函数转变为js对象,需要加括号,json就是原生的js对象
				var objs = eval("("+data+")");
				if(objs.flag == false){
					//1.此处也可以接受重名的返回字符串
					$(".dialog>div form fieldset:first input").val(objs.info);
					//jQuery中单个属性的设置方法
					//$(".dialog>div form fieldset:first input").css("color","#F00");
					//jQuery中多个属性的设置方法
					$(".dialog>div form fieldset:first input").css({ color: "#F00", background: "yellow" });
					
				}else if(objs.flag == true){
					//2.操作成功后执行,将原有的修改为现有的属性值
					$("#maa"+$id).children("[class='titleSort']").children().last().val($sort);
					$("#maa"+$id).children().eq(4).attr($name);
					$("#maa"+$id).children().eq(4).children().text($name);
				}
				//操作成功窗口的关闭
				success = 1;
			//最后声明接受数据的类型
			},"json");
		}else{
			//alert("22222");
			//在Title名中没有输入值
			$(".dialog>div form fieldset:first input").val("Title值不可以为空");
			$(".dialog>div form fieldset:first input").css({color:"#F00",background:"yellow"});
		}
	}else{
		//alert("save");
		
		//没有id是添加
		if($name!=""){
			if($sort!=""){
				var url = "managerServlet/TitleServlet?action=save";
				var args = {"name":$name,"sort":$sort,"time":new Date()};
				$.post(url,args,function(data){
					//处理xml的方式为
					//储为 XMLHttpResponse 对象，并通过 process() 这个 JavaScript 函数进行处理
					var $flag = $(data).find("flag").text();
					var $info = $(data).find("info").text();
					var $id = $(data).find("id").text();
					//将最后一个的顺序数字转化成文本
					//当js寻找第几个元素的时候开始计算的第一个元素的下标是0
					var num = parseInt($(".message").last().children().eq(2).text())+1;
					
					//alert($flag);
					//alert($info);
					//alert(num);
					
					if($flag == "true"){
						//2.操作成功时 可以添加一段文档
						$(".result-tab").append("<tr class='message' id='maa"+$id+"'>"+
								  " <td class='tc'><input name='id[]' value='59' type='checkbox'></td>"+
								  " <td class='titleSort'>"+
								  " <input name='ids[]' value="+$id+" type='hidden'> "+
								  " <input class='common-input sort-input' name='ord[]' value="+$sort+" type='text' onblur='sortChange(event)'>"+
								  " </td>"+
								  " <td>"+num+"</td>"+
								  " <td title="+$name+">"+
								  "  <a target='_blank' href='javascript:void(0);' >"+$name+"</a></td>"+
								  " <td>"+
								  "  <a class='link-update' href='javascript:void(0);' onclick='addTitle(this)'>修改</a> "+
								  "  <a class='lint-del' href='javascript:void(0);' onclick='deleteTitles(this,"+$id+");return false;'>删除</a>"+
								  " </td>"+
								  " </tr>");
						
					}else if($flag == "false"){
						//1.重名时在窗口中显示一段文字
						$(".dialog>div form fieldset:first input").val($info);
						$(".dialog>div form fieldset:first input").css({ color: "#F00", background: "yellow" });
					}
				
					//操作成功执行窗口的关闭
					success = 1;
				},"xml");
			}else{
				$(".dialog>div form fieldset:eq(1) input").val("Sort值不可以为空"	);
				$(".dialog>div form fieldset:eq(1) input").css({color:"#F00",background:"yellow"});
			}
		}else{
			//在Title名中没有输入值
			$(".dialog>div form fieldset:first input").val("Title值不可以为空");
			$(".dialog>div form fieldset:first input").css({color:"#F00",background:"yellow"});
		}
		
	}
	
	if(success === 1){
		//执行结果成功将窗口关闭
		closeTitle(my);
	}
}
/**
 * 为check添加全选状态
 */
//为对象添加事件委派,.live方法对新添加来的DOM对象有效,.bind对新添加的DOM对象无效需要重新删除
$(".allChoose").live("click",function(){
	//alert("qqqqqq");
	//如果某一个check被选择
	//if($(".allChoose").is(":checked")){}
	//在jQuery中有一个遍历所有元素的函数是each()
	$(".tc>input").attr("checked",true);
});
/**
 * 对GoodsType的删除
 * @param my
 */
function deleteGoodsType(my){
	//得到要移除的对象
	var $deleteObj = $(my).parent().parent();
	var $id = $deleteObj.children().eq(0).children().last().val();
	//alert($id);
	var isDelete = window.confirm("是否要删除?");
	if(isDelete){
		var url = "managerServlet/GoodsTypeServlet?action=delete";
		var args = {"id":$id,"time":new Date()};
		$.get(url,args,function(){
			$deleteObj.remove();
		});
	}
}
/**
 * 当文本框中的内容改变后的变化
 * @param my
 *//*
function changeGoodsType(my){
	alert("ninini");
	var $name = $(my).val();
	if($name!=""){
		var url = "managerServlet/GoodsTypeServlet?action=checkName";
		var args = {"name":$name,"time":new Date()};
		$.post(url,args,function(data){
			alert("haha");
			var $flag = $(data).find("flag");
			var $info = $(data).find("info");
			if($flag =="false"){
				//设置提交按钮不可以操作
				$(my).parent().next().children("td").children().first().attr("disabled",true);
				$(my).val($info);
				$(my).css({color:"#F00",background:"yellow"});
			}
		},"xml");
	}else{
		$(my).val("值不可为空!!!");
		$(my).css({color:"#F00"});
	}
}*/
/**
 * 得到焦点时的变化
 * @param my
 */
function getFocus(my){
	var $my = $(my);
	$my.css({background:"#fffca3",opacity:0.8});
	//得到焦点时文本全选,存在问题
	//$my.select();
	//$(my).parent().next().children("td").children().first().attr("disabled",false);

	//得到焦点,允许表单提交
	/*$("form").submit( function () {
		alert("aaa	");
		  return true;
	});*/
}
/**
 * 失去焦点时输入框的变化
 * @param my
 */
function loseFocus(my){
	
	//alert("aaaa");
	
	var $my = $(my);
	$my.css({
		background:"#FFF"
	});
	
	//alert("ninini");
	//去除空格
	var $name = $.trim($(my).val());
	if($name!=""){
		var url = "managerServlet/GoodsTypeServlet?action=checkName";
		var args = {"name":$name,"time":new Date()};
		$.post(url,args,function(data){
			
			//alert("haha");
			
			var $flag = $(data).find("flag").text();
			var $info = $(data).find("info").text();
			
			if($flag =="false"){
				//设置提交按钮不可以操作

				/*//阻止表单提交
				$("form").submit( function () {
					//alert("dfja;f");
					  return false;
				});*/
				
				$(my).parent().next().children("td").children().first().attr("disabled",true);
				$(my).val($info);
				$(my).css({color:"#F00",background:"yellow"});
			}
		},"xml");
	}else{
		$(my).val("值不可为空!!!");
		$(my).css({color:"#F00"});
	}
	$(my).parent().next().children("td").children().first().attr("disabled",true);
}
/**
 * 恢复要删除的对象
 * @param my
 */
function recoverGoodsType(my){
	//得到要恢复的对象
	var $deleteObj = $(my).parent().parent();
	var $id = $deleteObj.children().eq(0).children().last().val();
	//alert($id);
	var isDelete = window.confirm("是否要恢复?");
	if(isDelete){
		var url = "managerServlet/GoodsTypeServlet?action=deleteRecovery";
		var args = {"id":$id,"time":new Date()};
		$.get(url,args,function(){
			$deleteObj.remove();
		});
	}
}

//阻止表单提交
/*$("form").submit( function () {
	//alert("dfja;f");
	  return false;
})*/;














